#ifndef __DEFINE_HPP__
#define __DEFINE_HPP__

///////////////////////////////////////////////////////////////
// Fichier contenant tout les enum, define et typedef global a tout le projet
///////////////////////////////////////////////////////////////
#include <vector3d.h>
#include <windows.h>

#include <boost/random/mersenne_twister.hpp>
#include <boost/random/uniform_int.hpp>
#include <boost/random/variate_generator.hpp>

#include <map>
#include <vector>

#define CYCLE_MILLISECOND 2000
#define CYCLE_SECOND 2
#define NUMBER_OF_GENERIK 5
#define NUMBER_OF_CUTIT 4


#define MAX_REAL 1000000000
#define MAX_FLOAT 1000000000

/** Macro qui retourne la valeur absolue d'un nombre
*/
#define ABS(A) ((A)>=(0)?(A):((-1)*(A)))

#define RAND(MIN,MAX) ((MIN)+int((((MAX)-(MIN)+1)*rand())/((RAND_MAX)+1)))

int boost_random( int _min, int _max);

#define MAP_WIDTH 50
#define MAP_HEIGHT 50
#define MAP_TILE_SIZE 22

enum _GENERIK_TYPE_
{
    SPEEDBRICK, BOURIK, CUTIT
};

enum _GENERIK_PHASE_
{
    NORMAL, NICE, AGA
};

enum _GENERIK_SEX_
{
	MALE, FEMALE, UNDEFINED
};

#define AGE_MAX 20

bool CollisionBetweenCircles( irr::core::vector3df _posC1, float _radC1, irr::core::vector3df _posC2, float _radC2 );

#endif // __DEFINE_HPP__
